/**
 * Copyright 2019-2022 Huawei Technologies Co., Ltd
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#include "proto_attr_list_float_def.h"

namespace hiai {

ProtoAttrListFloatDef::ProtoAttrListFloatDef(
    hiai::proto::AttrDef_ListListFloat_ListFloat& attrListFloatDef) : attrListFloatDef_(attrListFloatDef)
{
}

ge::AttrValue::ValueType ProtoAttrListFloatDef::GetValueType() const
{
    return ge::AttrValue::VT_LIST_FLOAT;
}

void ProtoAttrListFloatDef::SetValueType(ge::AttrValue::ValueType type)
{
    (void)type; /* -Wunused-parameter */
}

SerializeType ProtoAttrListFloatDef::GetSerializeType() const
{
    return PROTOBUF;
}

ProtoAttrListFloatDef::~ProtoAttrListFloatDef()
{
}

void ProtoAttrListFloatDef::CopyFrom(const IAttrListFloatDef* other)
{
    if (other != nullptr && other->GetSerializeType() == PROTOBUF) {
        attrListFloatDef_ = static_cast<const ProtoAttrListFloatDef*>(other)->attrListFloatDef_;
    }
}


IMPL_PROTO_PERSISTENCE_BASIC_LIST_MEMBER_PURE_FUNC(
    ProtoAttrListFloatDef, attrListFloatDef_, float, list_f, 0);

} // namespace hiai